#include "Sheet_impl.h"



EntryIterImpl::EntryIterImpl( EMIter cur, EMIter end )
	: m_iterCur(cur)
	, m_iterEnd(end)
{

}

EntryIterImpl::EntryIterImpl( EMIter end )
	:m_iterCur(end)
	, m_iterEnd(end)
{

}

void EntryIterImpl::Release()
{
	delete this;
}

bool EntryIterImpl::Next()
{
	if(m_iterCur == m_iterEnd)
		return false;
	m_iterCur++;
	if(m_iterCur == m_iterEnd)
		return false;
	return true;
}

Entry* EntryIterImpl::GetEntry()
{
	return (m_iterCur->second);
}

bool EntryIterImpl::operator!=( const EntryIter& rhs )
{
	const EntryIterImpl* r = dynamic_cast<const EntryIterImpl*>(&rhs);
	if(m_iterCur != r->m_iterCur)
		return true;
	return false;
}


bool EntryIterImpl::operator==( const EntryIter& rhs )
{
	const EntryIterImpl* r = dynamic_cast<const EntryIterImpl*>(&rhs);
	if(m_iterCur == r->m_iterCur)
		return true;
	return false;
}
